package CutLoad.transitions
{
	/**
	 * 加速
	 * @author smallerbird mail:smallerbird@gmail.com  site:www.mkigm.com QQ群:49983196
	 * 
	 */	
	public class Acceleration extends TBase
	{
		//加速度，速度
		protected var av:Number,vv:Number;
		protected var record:Record;
		/**
		 * 初始化
		 * @param startNum 开始值
		 * @param av 加速度
		 * 
		 */		
		public function Acceleration(startNum:Number,av:Number)
		{
			vv=0;
			this.av=av;
			currNum=startNum;
			record=new Record();
			this.initAllFun();
		}
		override public function enterFrame():void
		{
			if(cs==0) return;
			vv+=av;
			this.currNum+=vv;
			if(funEnd(currNum)){
				record.push(currNum);
				this.stop();
				vv=0;
				this.currNum=0;
				return;
			}
			funEnterFrame(currNum);
			record.push(currNum);
		}
		/**
		 * 设置循环调用的函数 
		 * @param fun 格式:Function(当前值:Number)
		 * 
		 */		
		override public function setFunEnterFrame(fun:Function):void
		{
			this.funEnterFrame=fun;
		}
		/**
		 * 设置判断结束的函数 
		 * @param fun 格式function(当前值:Number):Boolean      注：该函数返回true会让方块停下来。
		 * 
		 */		
		override public function setFunEnd(fun:Function):void{
			this.funEnd=fun;
		}
	}
}